﻿using System;

namespace Borg
{
    [SlotDefinition("ScriptExecutor")]
    public interface IScriptExecutor
    {
        string[] CompleteCommand(string input, int pos, out int cutStart, out int cutEnd);
        IScriptSession CreateSession(ExtensionInfo owner);

        void ExecuteAsync(string command, EventHandler<ScriptCompletedEventArgs> onCompletedEventHandler);
        void ExecutePriorAsync(string command, EventHandler<ScriptCompletedEventArgs> onCompletedEventHandler);

        IScriptResult ExecuteSync(string command);
    }
}

